package com.ruoyi.project.gxgw_modules.goods.mapper;

import com.ruoyi.project.gxgw_modules.goods.domain.Goods;
import java.util.List;

import org.apache.ibatis.annotations.Param;	

/**
 * 商品 数据层
 * 
 * @author ruoyi
 * @date 2019-01-20
 */
public interface GoodsMapper 
{
	

	

	/**
     * 查询商品信息
     * 
     * @param goodsId 商品ID
     * @return 商品信息
     */
	public Goods selectGoodsById(Integer goodsId);
	
	/**
     * 查询商品列表
     * 
     * @param goods 商品信息
     * @return 商品集合
     */
	public List<Goods> selectGoodsList(Goods goods);
	
	/**
     * 新增商品
     * 
     * @param goods 商品信息
     * @return 结果
     */
	public int insertGoods(Goods goods);
	
	/**
     * 修改商品
     * 
     * @param goods 商品信息
     * @return 结果
     */
	public int updateGoods(Goods goods);
	
	/**
     * 删除商品
     * 
     * @param goodsId 商品ID
     * @return 结果
     */
	public int deleteGoodsById(Integer goodsId);
	
	/**
     * 批量删除商品
     * 
     * @param goodsIds 需要删除的数据ID
     * @return 结果
     */
	public int deleteGoodsByIds(String[] goodsIds);
	
	public Goods checkGoodsNameUnique(String goodsName);
	
	public Goods checkGoodsBarUnique(String goodsBar);
	
	//增加库存
	public int  addNum(@Param("goodsId")Integer goodsId,@Param("inputNum") Integer inputNum);
	
	//减少库存
	public int reduceNum(@Param("goodsId")Integer goodsId,@Param("inputNum") Integer inputNum);
	
	//检查库存 
	public int selectNum(Integer goodsId);
	
	public int checkInputRecord(Integer goodsId);
	
	public int checkOutputRecord(Integer goodsId);
	
}